package com.baizhi.shane.shane.mapper;

import com.baizhi.shane.shane.dto.*;
import com.baizhi.shane.shane.entity.ShaneQuestion;
import com.baizhi.shane.shane.vo.CountVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author wbz12
* @description 针对表【shane_question(啥呢问题表)】的数据库操作Mapper
* @createDate 2023-07-25 22:33:37
* @Entity com.baizhi.shane.shane.entity.ShaneQuestion
*/
public interface ShaneQuestionMapper extends BaseMapper<ShaneQuestion> {

    List<PageQuestionMainOutDTO> pageByContent(PageInDTO pageInDTO);

    List<PageQuestionMainOtherOutDTO> pageOtherInfo(PageQuestionMainOtherInDTO pageQuestionMainOtherInDTO);

    Integer countAndPageByContent(String content);

    List<QuestionLabelOutDTO> getQuestionLabelListByQuestionIdList(List<Long> questionIdList);
    List<CountVO> getQuestionLikeCountByQuestionIdList(@Param("questionIdList") List<Long> questionIdList, @Param("userId") Long userId);

    List<CountVO> getQuestionCollectCountByQuestionIdList(@Param("questionIdList") List<Long> questionIdList, @Param("userId") Long userId);

    List<CountVO> getQuestionCommentCountByQuestionIdList(@Param("questionIdList") List<Long> questionIdList, @Param("userId") Long userId);

    GetOneQuestionOutDTO getOneQuestionById(Long questionId);

    List<ShaneQuestion> myCollected(Long userId);

    List<UserManagerOutDTO> userManagerList(PageInDTO pageInDTO);

    Integer userManagerCountAndPageByContent(String content);
}




